define(function () {

    var self;
    var others = {
        inx: 0
    };
    var ysxxsh = app.Module.extend({

        init: function () {
            self = this;
            self.mData = {
                orderSet: {}
            };
            self.searchData = {
                keyword: ''
            };
            self._super({
                _tag: 'p_ysxxsh', // key, 对象放进pageModule
                _sliderId: 'slider', // tabs
                _refreshAutoInit: true //自动加载刷新控件
            }, win);
        },
        update: function (d) { //批量修改状态
            var items = self._getRefreshObj().data;
            var list = items.filterKV({checked:true});

            if (d == 'Y') {
                if (list.length == 0) {
                    app.toast("请选择需要确认的订单");
                    return;
                }
                //检验
                for (var a = 0; a < list.length; a++) {
                    if (list[a].GWCU005 == '' || list[a].GWCU005 == null) {
                        app.toast('NO.' + (a + 1) + '承运公司为空，请检查');
                        return;
                    } else if (list[a].GWCU006 == '' || list[a].GWCU006 == null) {
                        app.toast('NO.' + (a + 1) + '承运联系人为空，请检查');
                        return;
                    } else if (list[a].GWCU007 == '' || list[a].GWCU007 == null) {
                        app.toast('NO.' + (a + 1) + '承运联系人手机号为空，请检查');
                        return;
                    } else if (list[a].GWCU011 == '' || list[a].GWCU011 == null) {
                        app.toast('NO.' + (a + 1) + '预计送达日期为空，请检查');
                        return;
                    } else if (list[a].GWCU104 == '' || list[a].GWCU104 == null) {
                        app.toast('NO.' + (a + 1) + '运输合同号为空，请检查');
                        return;
                    } else if (list[a].GWCU016 == '' || list[a].GWCU016 == null) {
                        app.toast('NO.' + (a + 1) + '合同照片未上传，请检查');
                        return;
                    }
                }
                app.ajax({
                    xurl: "api/wx/gwat510/updateByYlist",
                    xdata: {
                        items: app.jsonString(list)
                    },
                    cb: function (result) {
                        if (result.ok) {
                            app.toast("批量确认成功");
                            for (var i = 0, flag = true; i < items.length; flag ? i++ : i) {
                                if (items[i].checked == true) {
                                    items.splice(i, 1);
                                    flag = false;
                                } else {
                                    flag = true;
                                }
                            }
                            self._refresh();
                        }
                    }
                })
            } else if (d == 'N') {
                if (list.length == 0) {
                    app.toast("请选择需要取消确认的订单");
                    return;
                }

                //判断能否取消确认
                app.ajax({
                    xurl: "api/wx/gwat510/getGwcwlist",
                    // xtime: '1d',
                    xdata: {
                        items: app.jsonString(list)
                    },
                    cb: function (result) {
                        if (result.data.data.length > 0) { //返回值有数据不能取消
                            app.alert({
                                msg: "已存在数据，不能取消确认",
                                ok: function () {
                                    setTimeout(function () {
                                        self._refresh();
                                    }, 300);
                                }
                            });

                        } else { //没有数据 执行取消操作
                            app.ajax({
                                xurl: "api/wx/gwat510/updateByNlist",
                                xdata: {
                                    items: app.jsonString(list)
                                },
                                cb: function (result) {
                                    if (result.ok) {
                                        app.toast("批量取消成功");
                                        for (var i = 0, flag = true; i < items.length; flag ? i++ : i) {
                                            if (items[i].checked == true) {
                                                items.splice(i, 1);
                                                flag = false;
                                            } else {
                                                flag = true;
                                            }
                                        }
                                        self._refresh();
                                    }

                                }
                            })

                        }

                    }
                })

            }
        },
        _initRefresh: function () { // 实例化刷新组件
            if (self._refreshIds.length == 0) {
                self._refreshIds = ['scrollN', 'scrollY'];
            }
            this._super(win);
        },
        _refreshCb: function (goods) {// 刷新组件回调函授
            var _super = this._super;
            app.ajax({
                xurl: "api/wx/gwat510/getGwcuData",
                xdata: {
                    page:goods.page+1,
                    limit: goods.limit,
                    GWCUACTI: goods.type.replace('scroll', ''),//注意页面上 不是1 2 3 是 Y N
                    GWAA003: app.cookie('_WX_ACCOUNT_'),
                    keyword: self.searchData.keyword,//输入的查询条件
                },
                cb: function (result) {
                    if (result.ok) {
                        var data = result.data;
                        goods.data.pushArray(data.data.addMap({
                            checked: false
                        }), goods.page == 0);

                        _super({
                            obj: goods,
                            dataLen: data.data.length,
                            nodata: self._refreshIndex == 0 ? '无未确认订单...' : (self._refreshIndex == 1 ? '无已确认订单...' : '无订单...')
                        });
                    }
                }
            });

        },
        _slide: function (i) {// i  就是 _refreshIds的下标

            others.inx = i;
        },
        _lazy: function () {
            this._super();

            $('#allCheck').click(function () { //全选
                var items = self._getRefreshObj().data;
                if ($('#allCheck').is(':checked')) {
                    $('#pullRefresh input[type=checkbox]').prop('checked', true);
                    for (var i = 0; i < items.length; i++) {
                        items[i].checked = true;
                    }
                } else {
                    $('#pullRefresh input[type=checkbox]').prop('checked', false);
                    for (var i = 0; i < items.length; i++) {
                        items[i].checked = false;
                    }
                }
            });
            $('#btn_N').on('tap', function () {
                self.update("N");
            });
            $('#btn_Y').on('tap', function () {
                self.update("Y");
            });
        },
        _search:function(d){
            self.searchData.keyword = d.keyword.trim();
            self._refresh();
        },
        _ready: function () {

            Vue.component('ysxxsh-listitem', {
                template: app.getByid(doc, 'item-template'),
                props: {
                    model: Array
                },
                methods: {
                    showDetail: function (item) { //跳转到保存页面
                        app.openPage({
                            src: "ysxxsh/ysxxsh-info.html",
                            argsKey: 'ysxxshinfo_page',
                            args: item
                        });
                    },
                    update: function (item, d) {
                        if (d == 'Y') {
                            //检验
                            if (item.GWCU005 == '' || item.GWCU005 == null) {
                                app.toast('承运公司为空，请检查');
                                return;
                            } else if (item.GWCU006 == '' || item.GWCU006 == null) {
                                app.toast('承运联系人为空，请检查');
                                return;
                            } else if (item.GWCU007 == '' || item.GWCU007 == null) {
                                app.toast('承运联系人手机号为空，请检查');
                                return;
                            } else if (item.GWCU011 == '' || item.GWCU011 == null) {
                                app.toast('预计送达日期为空，请检查');
                                return;
                            } else if (item.GWCU104 == '' || item.GWCU104 == null) {
                                app.toast('运输合同号为空，请检查');
                                return;
                            } else if (item.GWCU016 == '' || item.GWCU016 == null) {
                                app.toast('合同照片未上传，请检查');
                                return;
                            }


                            app.ajax({
                                xurl: "api/wx/gwat510/updateByY",
                                xdata: {
                                    obj: app.jsonString(item)
                                },
                                cb: function (result) {
                                    if (result.ok) {
                                        app.alert({
                                            msg: "确认成功",
                                            ok: function () {
                                                self._refresh();
                                            }
                                        });
                                    }
                                }
                            });

                        } else if (d == 'N') {
                            //判断能否取消确认
                            app.ajax({
                                xurl: "api/wx/gwat510/getGwcw",
                                xdata: {
                                    obj: app.jsonString(item)
                                },
                                cb: function (result) {
                                    if (result.data.data.length > 0) { //返回值有数据不能取消
                                        app.alert({
                                            msg: "已存在数据，不能取消确认",
                                            ok: function () {
                                                self._refresh();
                                            }
                                        });

                                    } else { //没有数据 执行取消操作
                                        app.ajax({
                                            xurl: "api/wx/gwat510/updateByN",
                                            xdata: {
                                                obj: app.jsonString(item)
                                            },
                                            cb: function (result) {
                                                if (result.ok) {
                                                    app.alert({
                                                        msg: "取消成功",
                                                        ok: function () {
                                                            self._refresh();
                                                        }
                                                    });
                                                }
                                            }
                                        })
                                    }
                                }
                            })
                        }
                    }
                }
            });

            new Vue({
                el: doc.getElementById('footdiv'),
                data: others
            });
        },
        setValue: function (item) {
            var items = self._getRefreshObj().data;
            for (var i = 0; i < items.length; i++) {
                if (items[i].GWCUDOCNO == item.GWCUDOCNO && items[i].GWCUSEQ == item.GWCUSEQ) {
                    Vue.set(items, i, item);
                }
            }
        }
    });

    return new ysxxsh();

});